type token =
  | TYPE of (Utils.Error.info)
  | INERT of (Utils.Error.info)
  | LAMBDA of (Utils.Error.info)
  | FIX of (Utils.Error.info)
  | LETREC of (Utils.Error.info)
  | USTRING of (Utils.Error.info)
  | UNIT of (Utils.Error.info)
  | UUNIT of (Utils.Error.info)
  | IF of (Utils.Error.info)
  | THEN of (Utils.Error.info)
  | ELSE of (Utils.Error.info)
  | TRUE of (Utils.Error.info)
  | FALSE of (Utils.Error.info)
  | BOOL of (Utils.Error.info)
  | TIMESFLOAT of (Utils.Error.info)
  | UFLOAT of (Utils.Error.info)
  | UINT of (Utils.Error.info)
  | NAT of (Utils.Error.info)
  | SUCC of (Utils.Error.info)
  | PRED of (Utils.Error.info)
  | ISZERO of (Utils.Error.info)
  | SOME of (Utils.Error.info)
  | LET of (Utils.Error.info)
  | IN of (Utils.Error.info)
  | AS of (Utils.Error.info)
  | ALL of (Utils.Error.info)
  | UCID of (string Utils.Error.withinfo)
  | LCID of (string Utils.Error.withinfo)
  | INTV of (int Utils.Error.withinfo)
  | FLOATV of (float Utils.Error.withinfo)
  | STRINGV of (string Utils.Error.withinfo)
  | APOSTROPHE of (Utils.Error.info)
  | DQUOTE of (Utils.Error.info)
  | ARROW of (Utils.Error.info)
  | BANG of (Utils.Error.info)
  | BARGT of (Utils.Error.info)
  | BARRCURLY of (Utils.Error.info)
  | BARRSQUARE of (Utils.Error.info)
  | COLON of (Utils.Error.info)
  | COLONCOLON of (Utils.Error.info)
  | COLONEQ of (Utils.Error.info)
  | COLONHASH of (Utils.Error.info)
  | COMMA of (Utils.Error.info)
  | DARROW of (Utils.Error.info)
  | DDARROW of (Utils.Error.info)
  | DOT of (Utils.Error.info)
  | EOF of (Utils.Error.info)
  | EQ of (Utils.Error.info)
  | EQEQ of (Utils.Error.info)
  | EXISTS of (Utils.Error.info)
  | GT of (Utils.Error.info)
  | HASH of (Utils.Error.info)
  | LCURLY of (Utils.Error.info)
  | LCURLYBAR of (Utils.Error.info)
  | LEFTARROW of (Utils.Error.info)
  | LPAREN of (Utils.Error.info)
  | LSQUARE of (Utils.Error.info)
  | LSQUAREBAR of (Utils.Error.info)
  | LT of (Utils.Error.info)
  | RCURLY of (Utils.Error.info)
  | RPAREN of (Utils.Error.info)
  | RSQUARE of (Utils.Error.info)
  | SEMI of (Utils.Error.info)
  | SLASH of (Utils.Error.info)
  | STAR of (Utils.Error.info)
  | TRIANGLE of (Utils.Error.info)
  | USCORE of (Utils.Error.info)
  | VBAR of (Utils.Error.info)

val toplevel :
  (Lexing.lexbuf  -> token) -> Lexing.lexbuf ->  Binding.context -> (Binding.command list * Binding.context) 
